package com.rj.bd.kj.dc.aes;

/**
 * @desc  : 加密算法配置类, 用于管理加密算法的配置
 * @author : jjr
 */

import com.rj.bd.kj.TuoMin;

import java.util.HashMap;
import java.util.Map;

public class EncryptionConfig {

    /**
     * @desc :使用静态成员变量存储已注册的加密算法，键为算法名称，值为实现了TuoMin接口的加密对象
     */
    private static Map<String, TuoMin> encryptionMap = new HashMap<>();



    /**
     * @desc  : 注册加密算法的方法，允许外部代码通过指定算法名称和对应的加密对象来添加新的加密算法
     * @param key  秘钥
     * @param encryption 加密算法对象
     */
    public static void registerEncryption(String key, TuoMin encryption) {
        encryptionMap.put(key, encryption);  //将新的加密算法添加到map中
    }


    /**
     * @desc : 根据算法名称获取对应的加密算法对象的方法
     * @param key
     * @return
     */
    public static TuoMin getEncryption(String key) {
        return encryptionMap.get(key);  //从map中根据键获取对应的加密对象
    }
}


